﻿package 
{
	import flash.display.Bitmap;
	import flash.display.Sprite;

	import jp.progression.casts.*;
	import jp.progression.commands.*;
	import jp.progression.events.*;
	import jp.progression.loader.*;
	import jp.progression.*;
	import jp.progression.scenes.*;
	
	import net.whatmark.playavillain.Index.*;
	
	/*======================================================================*//**
	 * IndexScene
	 */
	public class IndexScene extends SceneObject 
	{
		
		[Embed(source="img/Index/scene01.png")]
		private var img:Class;
		public var page:Bitmap;

		/*======================================================================*//**
		 * コンストラクタ
		 */
		public function IndexScene() 
		{
			// FeatureScene を作成
			var feature:FeatureScene=new FeatureScene();
			feature.name="feature";
			addScene(feature);

			// ContactScene を作成
			var contact:ContactScene=new ContactScene();
			contact.name="contact";
			addScene(contact);

			// IndexPageに表示されるObjectを作成
			page=new img;
			page.x = 150;
			page.y = 200;
		}
		
		/*======================================================================*//**
		 * シーン移動時に目的地がシーンオブジェクト自身もしくは子階層だった場合に、階層が変更された瞬間に送出されます。
		 * このイベント処理の実行中には、addCommand() メソッド、及び insertCommand() メソッドによるコマンドの同期処理が行えます。
		 */
		protected override function _onLoad():void 
		{
			addCommand(
				// 任意のコマンドを記述してください。
			);
		}
		
		/*======================================================================*//**
		 * シーンオブジェクトが目的地だった場合に、到達した瞬間に送出されます。
		 * このイベント処理の実行中には、addCommand() メソッド、及び insertCommand() メソッドによるコマンドの同期処理が行えます。
		 */
		protected override function _onInit():void {
			page.alpha=0;

			// 実行したいコマンドを登録
			addCommand( 
				new AddChild(progression.container, page),
				new DoTweener(page, {alpha:1, time:1}));
		}
		
		/*======================================================================*//**
		 * シーンオブジェクトが出発地だった場合に、移動を開始した瞬間に送出されます。
		 * このイベント処理の実行中には、addCommand() メソッド、及び insertCommand() メソッドによるコマンドの同期処理が行えます。
		 */
		protected override function _onGoto():void 
		{
			// 実行したいコマンドを登録
			addCommand( 
				new DoTweener(page, {alpha:0, time:0.5}),
				new RemoveChild(progression.container, page));
		}
		
		/*======================================================================*//**
		 * シーン移動時に目的地がシーンオブジェクト自身もしくは親階層だった場合に、階層が変更された瞬間に送出されます。
		 * このイベント処理の実行中には、addCommand() メソッド、及び insertCommand() メソッドによるコマンドの同期処理が行えます。
		 */
		protected override function _onUnload():void 
		{
			addCommand(
				// 任意のコマンドを記述してください。
			);
		}
	}
}









